package leetcode;
//
//
//import java.util.*;
//import java.util.stream.Collectors;
//
//public class Main {
//    private static Object Integer;
//
//    public static void main(String[] args) {
//        Scanner sc = new Scanner(System.in);
//        int n = sc.nextInt();
//        int[] nums = new int[n];
//        for (int i = 0; i < n; i++) {
//            nums[i] = sc.nextInt() / 1024;
//        }
//        if(n==1){
//            System.out.print(nums[0]);
//            return;
//        }
//        int sum = Arrays.stream(nums).sum();
//        int[] pack = new int[sum / 2 + 1];
//        for (int num : nums) {
//            for (int j = sum / 2; j >= num; j--) {
//                pack[j]=Math.max(pack[j], pack[j - num] + num);
//            }
//        }
//        System.out.println(Math.max(pack[sum / 2], sum - pack[sum / 2]) * 1024);
//        Set<Integer> collect = (Set<java.lang.Integer>) Arrays.stream(nums).collect(Collectors.toSet());
//    }
//}
//import java.io.*;
//        import java.util.*;
//public class Main
//{
//    public static void main(String args[])
//    {
//        Scanner sc = new Scanner(new BufferedInputStream(System.in));
//        int n = sc.nextInt();
//        int m = sc.nextInt();
//        int[] nums1 = new int[n];
//        int[] nums2 = new int[n];
//        for(int i=0;i<n;i++){
//            nums1[i]=sc.nextInt();
//        }
//        for(int i=0;i<n;i++){
//            nums2[i]=sc.nextInt();
//        }
//        long max = 0;
//        long ans = 0;
//        for(int i =0;i<m;i++){
//            ans+=nums1[i];
//
//        }
//        int flag=m-1;
//        max=ans;
//        for(int i=m;i<n;i++){
//            ans+=nums1[i];
//            if(nums2[i-m]==0){
//                ans-=nums1[i-m];
//            }
//            if(ans>max){
//                max=ans;
//                flag=i;
//            }
//        }
//        for(int i=flag+1;i<n;i++){
//            if(nums2[i]==1){
//                max+=nums1[i];
//            }
//        }
//        System.out.print(max);
//    }
//}


import java.util.*;
public class Main {
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        int a = sc.nextInt();
        int b = sc.nextInt();
        int c = sc.nextInt();

        int k=0;
        int i1=0;
        while(k<c){
            i1++;
            int i = i1;
            int count = 0;
            while(i>0){
                i=i&(i-1);
                count++;
            }
            if(count==b){
                k++;
            }
        }
        String ans1 ="";
        if(i1<Math.pow(2,a+b)){
            for(int j=0;j<a+b;j++){
                int g=(1 << j);
                if((i1 & g) !=0){
                    ans1="z"+ans1;
                }
                else{
                    ans1="a"+ans1;
                }
            }
            System.out.println(ans1);
            return;
        }
        System.out.println(-1);

    }
}